<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            border: 0;
            box-sizing: border-box;
        }

        table {
            width: 500px;
            margin: 100px auto;
            text-align: center;
            border-collapse: collapse;
            border-spacing: 0;
            border: 1px solid #c0c0c0;
        }

        th {
            background-color: #09c;
            font: bold 16px "微软雅黑";
            color: #fff;
            height: 24px;
            
        }

        td {
            border: 1px solid #d0d0d0;
            color: #404060;
            padding: 10px;
        }
        .allCheck {
            width: 80px;
        }
    </style>
</head>

<body>

    <table>
        <tr>
            <th class="allCheck">
                <input type="checkbox" name="" id="checkAll"> <span class="all">全选</span>
              </th>
              <th>商品</th>
              <th>商家</th>
              <th>价格</th>
        </tr>
        <tr>
            <td>
                <input type="checkbox" class="ck">
            </td>
            <td>小米手机</td>
            <td>小米</td>
            <td>￥1999</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox" class="ck">
            </td>
            <td>小米净水器</td>
            <td>小米</td>
            <td>￥4999</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox" class="ck">
            </td>
            <td>小米电视</td>
            <td>小米</td>
            <td>￥5999</td>
        </tr>

    </table>

    <script>
        const checkAll = document.querySelector('#checkAll')
        const ckList = document.querySelectorAll('.ck')
        ckList.forEach(element => {
            element.addEventListener('click', function(){
                checkAll.checked = document.querySelectorAll('.ck:checked').length === ckList.length
            })
            
        });
        checkAll.addEventListener('click', function(){
            ckList.forEach(element => {
                if (this.checked) {
                    element.checked = true
                }else{
                    element.checked = false
                }
            })
        })

    </script>

</body>

</html>